//  
//  BGOProfile.h
//  Bango iOS API
//
//  Created by William Shakour on September 8, 2011.
//  Copyrights © 2011 Bango - http://www.bango.net/ - All rights reserved.
//

#import "BGODataType.h"
@class BGOEvent;
@interface BGOProfile : BGODataType {
@private
  NSMutableArray * _events;
  NSString * _device;
  NSString * _applicationKey;
  NSString * _applicationChannel;
  NSString * _applicationType;
  NSString * _applicationVersion;
  NSString * _ipAddress;
  NSString * _userId;
  NSNumber * _created;
  NSString * _networkOperator;
  NSString * _operatorName;
  NSString * _operatorCountryIso;
  NSString * _operatorConnectionType;
  NSString * _sim;
  NSString * _brand;
  NSString * _locationSource;
  NSNumber * _locationLatitude;
  NSNumber * _locationLongitude;
  NSNumber * _locationAltitude;
  NSNumber * _locationAccuracy;
  NSString * _version;
  NSString * _sdkVersion;
  NSNumber * _networkType;
  NSString * _model;
  NSString * _product;
  NSString * _connectionType;
  NSNumber * _sdkType;
  NSNumber * _isRoaming;
  NSNumber * _sessionRestartTime;
  NSString * _buildId;
  NSNumber * _profilePosted;
}
- (void)addToEvents:(BGOEvent *)event;
@property (readonly, nonatomic, getter=events) NSArray * events;
@property (copy, nonatomic) NSString * device;
@property (copy, nonatomic) NSString * applicationKey;
@property (copy, nonatomic) NSString * applicationChannel;
@property (copy, nonatomic) NSString * applicationType;
@property (copy, nonatomic) NSString * applicationVersion;
@property (copy, nonatomic) NSString * ipAddress;
@property (copy, nonatomic) NSString * userId;
@property (assign, nonatomic, getter=created, setter=setCreated:) NSDate * created;
@property (copy, nonatomic) NSString * networkOperator;
@property (copy, nonatomic) NSString * operatorName;
@property (copy, nonatomic) NSString * operatorCountryIso;
@property (copy, nonatomic) NSString * operatorConnectionType;
@property (copy, nonatomic) NSString * sim;
@property (copy, nonatomic) NSString * brand;
@property (copy, nonatomic) NSString * locationSource;
@property (assign, nonatomic, getter=locationLatitude, setter=setLocationLatitude:) double locationLatitude;
@property (assign, nonatomic, getter=locationLongitude, setter=setLocationLongitude:) double locationLongitude;
@property (assign, nonatomic, getter=locationAltitude, setter=setLocationAltitude:) double locationAltitude;
@property (assign, nonatomic, getter=locationAccuracy, setter=setLocationAccuracy:) double locationAccuracy;
@property (copy, nonatomic) NSString * version;
@property (copy, nonatomic) NSString * sdkVersion;
@property (assign, nonatomic, getter=networkType, setter=setNetworkType:) float networkType;
@property (copy, nonatomic) NSString * model;
@property (copy, nonatomic) NSString * product;
@property (copy, nonatomic) NSString * connectionType;
@property (assign, nonatomic, getter=sdkType, setter=setSdkType:) int sdkType;
@property (assign, nonatomic, getter=isIsRoaming, setter=setIsRoaming:) BOOL isRoaming;
@property (assign, nonatomic, getter=sessionRestartTime, setter=setSessionRestartTime:) int sessionRestartTime;
@property (copy, nonatomic) NSString * buildId;
@property (assign, nonatomic, getter=isProfilePosted, setter=setProfilePosted:) BOOL isProfilePosted;
+ (BGOProfile *)profile;
@end